package cn.itcast.domain.cargo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhou
 * @since 2021-01-29
 */
@TableName("co_invoice")
public class Invoice implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 发票编号  一个发票对应一个委托单
     */
    @TableId(value = "invoice_id", type = IdType.INPUT)
    private String invoiceId;

    /**
     * 报运的合同号
     */
    private String scNo;

    /**
     * 贸易条款  从购销合同查询获取，逗号隔开
     */
    private String tradeTerms;

    /**
     * 发票金额  报运金额 + 装箱金额 + 委托金额
     */
    private BigDecimal invoiceMoney;

    /**
     * 发票状态  0 未支付； 1 已支付
     */
    private Integer status;

    /**
     * 提单凭证  经海关、货代、企业三家都签字盖章的提单，由页面上传
     */
    private String pickupPhoto;

    /**
     * 发票时间  用户选择
     */
    private Date invoiceTime;

    private String companyId;

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getInvoiceId() {
        return invoiceId;
    }

    public void setInvoiceId(String invoiceId) {
        this.invoiceId = invoiceId;
    }

    public String getScNo() {
        return scNo;
    }

    public void setScNo(String scNo) {
        this.scNo = scNo;
    }

    public String getTradeTerms() {
        return tradeTerms;
    }

    public void setTradeTerms(String tradeTerms) {
        this.tradeTerms = tradeTerms;
    }

    public BigDecimal getInvoiceMoney() {
        return invoiceMoney;
    }

    public void setInvoiceMoney(BigDecimal invoiceMoney) {
        this.invoiceMoney = invoiceMoney;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getPickupPhoto() {
        return pickupPhoto;
    }

    public void setPickupPhoto(String pickupPhoto) {
        this.pickupPhoto = pickupPhoto;
    }

    public Date getInvoiceTime() {
        return invoiceTime;
    }

    public void setInvoiceTime(Date invoiceTime) {
        this.invoiceTime = invoiceTime;
    }

    @Override
    public String toString() {
        return "Invoice{" +
                "invoiceId='" + invoiceId + '\'' +
                ", scNo='" + scNo + '\'' +
                ", tradeTerms='" + tradeTerms + '\'' +
                ", invoiceMoney=" + invoiceMoney +
                ", status=" + status +
                ", pickupPhoto='" + pickupPhoto + '\'' +
                ", invoiceTime=" + invoiceTime +
                ", companyId='" + companyId + '\'' +
                '}';
    }
}
